Field of the Invention
This invention relates generally to the field of graphics processors. More particularly, the invention relates to a last-level projection apparatus and method for virtual and augmented reality.
Description of the Related Art
Head-mounted augmented reality and virtual reality systems suffer from a rendering-to-motion miscorrelation due to the fact that the user's head can move in the time between a frame being rendered and the same frame being displayed. This can create movement artifacts (smearing and strobing) which can induce nausea in users. The classic solution to this is a technique called reprojection (also known as time warping), where a previously-rendered frame is reprocessed immediately prior to being displayed using a simple transform to correct for head movement since rendering.
Existing reprojection solutions utilize the same graphics engine for rendering and reprojection, with the whole process directed by software running on a processor. Current state-of-the-art solutions for reprojection (a.k.a. “time warp”) utilize buffers from the graphics engine to reprocess the frame prior to display (near vsync). This involves reading the frame in from DRAM, processing it, and writing it back out to DRAM, only for it to be read from DRAM again by the display engine.
This also involves significant software overhead and context switching inefficiency, as the graphics engine must pause rendering the n+1 frame in order to reproject the nth frame. These two problems, combined, mean that the reprojection must be done significantly in advance of the vsync, which means the solution suffers from a (mitigated) version of the problem it attempts to solve.